package com.mobile.service.convert;
import com.mobile.service.dto.RoleDTO;
import com.mobile.service.entity.Role;
import org.mapstruct.*;


import java.util.List;
import java.util.stream.Collectors;
@Mapper(componentModel = "spring")
public interface RoleConverter {

    // 基础映射
    Role toEntity(RoleDTO dto);

    // 反向映射
    @InheritInverseConfiguration
    RoleDTO toDto(Role entity);

    // 自定义类型转换
//    @Named("codeToRole")
//    static RoleType codeToRole(String code) {
//        return RoleType.valueOf(code.toUpperCase());
//    }

    // 集合映射
    default List<RoleDTO> toDtoList(List<Role> entities) {
        return entities.stream()
                .map(this::toDto)
                .collect(Collectors.toList());
    }
}
